 package com.xiaochong.tir.common.data.po;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;
import java.util.List;
import java.math.BigDecimal;

/**
 * 此类为[基础代码]自动生成
 * @author cx
 * @time 2018-05-03 16:06
 * 
 */
public class CurrencyInfo {

    /** 手动设置 */
    private Integer id;

    /** 英文名称 */
    private String coinNameEn;

    /** 货币中文名称 */
    private String coinNameCn;

    /** 货币符号 */
    private String symbol;

    /** 图片地址 */
    private String imageUrl;

    /** CoinMarketCap 返回的id */
    private String cmcId;

    /** 是否启用（0:未启用;1:启用。java中对应的是false，true） */
    private Boolean enableFlag;

    /** 是否删除（0:未删除;1:删除。java中对应的是false，true） */
    private Boolean deleteFlag = false;

    /** 是否支持货币诊断（0:不支持;1:支持。java中对应的是false，true） */
    private Boolean currencyDiagnosisFlag;

    /** 是否是权重货币(0:不是;1:是。java中对应的是false，true) */
    private Boolean weights;

    /** 固定换手率 */
    private Double fixedTurnoverRate;

    /** 固定权重 */
    private BigDecimal fixedWeights;

    /** create_time */
    private Date createTime;

    /** update_time */
    private Date updateTime;

    @ApiModelProperty(value = "流通市值排序字段")
    private int marketVolumeType;

    @ApiModelProperty(value = "价格排序字段")
    private int priceType;

    @ApiModelProperty(value = "流通数量排序字段")
    private int circulatingSupplyType;

    @ApiModelProperty(value = "成交额排序字段")
    private int volume24hType;

    @ApiModelProperty(value = "涨跌幅排序字段")
    private int changeType;
    @ApiModelProperty(value = "用户token")
    private String userToken;
    @ApiModelProperty(value = "1:已自选 2：未自选")
    private Integer selfSelectFlag =2;
    private Boolean frenchCurrency;//是否法币
    
    private String industryIndustryIds;
    
    private String industryCategoryIds;
    
    private Integer status;
    
    private Integer diagnosisFlag;
    private Double marketCapCny;//流通市值
    
    private List<CurrencyIndustryMiddle> currencyIndustryList;
    
    private List<CurrencyConceptCategory> currencyConceptList;

    private Integer exchangeTranMiddleId;

    private String imageKey;

    public String getImageKey() {
        return imageKey;
    }

    public void setImageKey(String imageKey) {
        this.imageKey = imageKey;
    }

    public Integer getExchangeTranMiddleId() {
        return exchangeTranMiddleId;
    }

    public void setExchangeTranMiddleId(Integer exchangeTranMiddleId) {
        this.exchangeTranMiddleId = exchangeTranMiddleId;
    }

    public Boolean getFrenchCurrency() {
        return frenchCurrency;
    }

    public void setFrenchCurrency(Boolean frenchCurrency) {
        this.frenchCurrency = frenchCurrency;
    }

    public Integer getDiagnosisFlag() {
		return diagnosisFlag;
	}

	public void setDiagnosisFlag(Integer diagnosisFlag) {
		this.diagnosisFlag = diagnosisFlag;
	}

	public List<CurrencyIndustryMiddle> getCurrencyIndustryList() {
		return currencyIndustryList;
	}

	public void setCurrencyIndustryList(List<CurrencyIndustryMiddle> currencyIndustryList) {
		this.currencyIndustryList = currencyIndustryList;
	}

	public List<CurrencyConceptCategory> getCurrencyConceptList() {
		return currencyConceptList;
	}

	public void setCurrencyConceptList(List<CurrencyConceptCategory> currencyConceptList) {
		this.currencyConceptList = currencyConceptList;
	}

	public String getIndustryIndustryIds() {
		return industryIndustryIds;
	}

	public void setIndustryIndustryIds(String industryIndustryIds) {
		this.industryIndustryIds = industryIndustryIds;
	}

	public String getIndustryCategoryIds() {
		return industryCategoryIds;
	}

	public void setIndustryCategoryIds(String industryCategoryIds) {
		this.industryCategoryIds = industryCategoryIds;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public int getChangeType() {
        return changeType;
    }

    public void setChangeType(int changeType) {
        this.changeType = changeType;
    }

    public int getVolume24hType() {
        return volume24hType;
    }

    public void setVolume24hType(int volume24hType) {
        this.volume24hType = volume24hType;
    }

    public int getCirculatingSupplyType() {
        return circulatingSupplyType;
    }

    public void setCirculatingSupplyType(int circulatingSupplyType) {
        this.circulatingSupplyType = circulatingSupplyType;
    }

    public int getPriceType() {
        return priceType;
    }

    public void setPriceType(int priceType) {
        this.priceType = priceType;
    }

    public int getMarketVolumeType() {
        return marketVolumeType;
    }

    public void setMarketVolumeType(int marketVolumeType) {
        this.marketVolumeType = marketVolumeType;
    }

    /**
     * 获取 手动设置 的值
     * @return Integer
     */
    public Integer getId() {
        return id;
    }
    
    /**
     * 设置手动设置 的值
     * @param Integer id
     */
    public CurrencyInfo setId(Integer id) {
        this.id = id;
        return this;
    }
 /**
     * 获取 英文名称 的值
     * @return String
     */
    public String getCoinNameEn() {
        return coinNameEn;
    }
    
    /**
     * 设置英文名称 的值
     * @param String coinNameEn
     */
    public CurrencyInfo setCoinNameEn(String coinNameEn) {
        this.coinNameEn = coinNameEn;
        return this;
    }
 /**
     * 获取 货币中文名称 的值
     * @return String
     */
    public String getCoinNameCn() {
        return coinNameCn;
    }
    
    /**
     * 设置货币中文名称 的值
     * @param String coinNameCn
     */
    public CurrencyInfo setCoinNameCn(String coinNameCn) {
        this.coinNameCn = coinNameCn;
        return this;
    }
 /**
     * 获取 货币符号 的值
     * @return String
     */
    public String getSymbol() {
        return symbol;
    }
    
    /**
     * 设置货币符号 的值
     * @param String symbol
     */
    public CurrencyInfo setSymbol(String symbol) {
        this.symbol = symbol;
        return this;
    }
 /**
     * 获取 图片地址 的值
     * @return String
     */
    public String getImageUrl() {
        return imageUrl;
    }
    
    /**
     * 设置图片地址 的值
     * @param String imageUrl
     */
    public CurrencyInfo setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
        return this;
    }
 /**
     * 获取 CoinMarketCap 返回的id 的值
     * @return String
     */
    public String getCmcId() {
        return cmcId;
    }
    
    /**
     * 设置CoinMarketCap 返回的id 的值
     * @param String cmcId
     */
    public CurrencyInfo setCmcId(String cmcId) {
        this.cmcId = cmcId;
        return this;
    }
 /**
     * 获取 是否启用（0:未启用;1:启用。java中对应的是false，true） 的值
     * @return Boolean
     */
    public Boolean getEnableFlag() {
        return enableFlag;
    }
    
    /**
     * 设置是否启用（0:未启用;1:启用。java中对应的是false，true） 的值
     * @param Boolean enableFlag
     */
    public CurrencyInfo setEnableFlag(Boolean enableFlag) {
        this.enableFlag = enableFlag;
        return this;
    }
 /**
     * 获取 是否删除（0:未删除;1:删除。java中对应的是false，true） 的值
     * @return Boolean
     */
    public Boolean getDeleteFlag() {
        return deleteFlag;
    }
    
    /**
     * 设置是否删除（0:未删除;1:删除。java中对应的是false，true） 的值
     * @param Boolean deleteFlag
     */
    public CurrencyInfo setDeleteFlag(Boolean deleteFlag) {
        this.deleteFlag = deleteFlag;
        return this;
    }
 /**
     * 获取 是否支持货币诊断（0:不支持;1:支持。java中对应的是false，true） 的值
     * @return Boolean
     */
    public Boolean getCurrencyDiagnosisFlag() {
        return currencyDiagnosisFlag;
    }
    
    /**
     * 设置是否支持货币诊断（0:不支持;1:支持。java中对应的是false，true） 的值
     * @param Boolean currencyDiagnosisFlag
     */
    public CurrencyInfo setCurrencyDiagnosisFlag(Boolean currencyDiagnosisFlag) {
        this.currencyDiagnosisFlag = currencyDiagnosisFlag;
        return this;
    }
 /**
     * 获取 是否是权重货币(0:不是;1:是。java中对应的是false，true) 的值
     * @return Boolean
     */
    public Boolean getWeights() {
        return weights;
    }
    
    /**
     * 设置是否是权重货币(0:不是;1:是。java中对应的是false，true) 的值
     * @param Boolean weights
     */
    public CurrencyInfo setWeights(Boolean weights) {
        this.weights = weights;
        return this;
    }
 /**
     * 获取 固定换手率 的值
     * @return Double
     */
    public Double getFixedTurnoverRate() {
        return fixedTurnoverRate;
    }
    
    /**
     * 设置固定换手率 的值
     * @param Double fixedTurnoverRate
     */
    public CurrencyInfo setFixedTurnoverRate(Double fixedTurnoverRate) {
        this.fixedTurnoverRate = fixedTurnoverRate;
        return this;
    }
 /**
     * 获取 create_time 的值
     * @return Date
     */
    public Date getCreateTime() {
        return createTime;
    }
    
    /**
     * 设置create_time 的值
     * @param Date createTime
     */
    public CurrencyInfo setCreateTime(Date createTime) {
        this.createTime = createTime;
        return this;
    }
 /**
     * 获取 update_time 的值
     * @return Date
     */
    public Date getUpdateTime() {
        return updateTime;
    }
    
    /**
     * 设置update_time 的值
     * @param Date updateTime
     */
    public CurrencyInfo setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
        return this;
    }

    public BigDecimal getFixedWeights() {
        return fixedWeights;
    }

    public CurrencyInfo setFixedWeights(BigDecimal fixedWeights) {
        this.fixedWeights = fixedWeights;
        return this;
    }

    public String getUserToken() {
        return userToken;
    }

    public void setUserToken(String userToken) {
        this.userToken = userToken;
    }

    public Integer getSelfSelectFlag() {
        return selfSelectFlag;
    }

    public void setSelfSelectFlag(Integer selfSelectFlag) {
        this.selfSelectFlag = selfSelectFlag;
    }

    public Double getMarketCapCny() {
        return marketCapCny;
    }

    public void setMarketCapCny(Double marketCapCny) {
        this.marketCapCny = marketCapCny;
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("{");
        sb.append("\"id\":")
                .append(id);
        sb.append(",\"coinNameEn\":\"")
                .append(coinNameEn).append('\"');
        sb.append(",\"coinNameCn\":\"")
                .append(coinNameCn).append('\"');
        sb.append(",\"symbol\":\"")
                .append(symbol).append('\"');
        sb.append(",\"imageUrl\":\"")
                .append(imageUrl).append('\"');
        sb.append(",\"cmcId\":\"")
                .append(cmcId).append('\"');
        sb.append(",\"enableFlag\":")
                .append(enableFlag);
        sb.append(",\"deleteFlag\":")
                .append(deleteFlag);
        sb.append(",\"currencyDiagnosisFlag\":")
                .append(currencyDiagnosisFlag);
        sb.append(",\"weights\":")
                .append(weights);
        sb.append(",\"fixedTurnoverRate\":")
                .append(fixedTurnoverRate);
        sb.append(",\"fixedWeights\":")
                .append(fixedWeights);
        sb.append(",\"createTime\":\"")
                .append(createTime).append('\"');
        sb.append(",\"updateTime\":\"")
                .append(updateTime).append('\"');
        sb.append(",\"marketVolumeType\":")
                .append(marketVolumeType);
        sb.append(",\"priceType\":")
                .append(priceType);
        sb.append(",\"circulatingSupplyType\":")
                .append(circulatingSupplyType);
        sb.append(",\"volume24hType\":")
                .append(volume24hType);
        sb.append(",\"changeType\":")
                .append(changeType);
        sb.append(",\"industryIndustryIds\":\"")
                .append(industryIndustryIds).append('\"');
        sb.append(",\"industryCategoryIds\":\"")
                .append(industryCategoryIds).append('\"');
        sb.append(",\"status\":")
                .append(status);
        sb.append(",\"diagnosisFlag\":")
                .append(diagnosisFlag);
        sb.append(",\"currencyIndustryList\":")
                .append(currencyIndustryList);
        sb.append(",\"currencyConceptList\":")
                .append(currencyConceptList);
        sb.append('}');
        return sb.toString();
    }
}